package campeonatofutebol.util;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.TimerTask;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.os.Messenger;
import android.util.Log;
import android.widget.ArrayAdapter;
import campeonatofutebol.bean.RepositorioDeDados;

class AtualizarMural extends TimerTask {

	Servico s;
	
	AdapterHolder ah;
	Messenger m;
	String tituloJogo;
	List<String> lastUpdate;

//	public AtualizarMural(Servico s, AdapterHolder ah) {
	public AtualizarMural(Servico s, Messenger m, String tituloJogo) {
		this.s = s;
		this.m = m;
		this.tituloJogo = tituloJogo;
	}
	
	@Override
	public void run() {
		try {
//			ah.update();
			if(lastUpdate == null) {
				lastUpdate = WebServiceInterface.getInstance().loadMessages(tituloJogo);
				post(lastUpdate);
			} else {
				List<String> upt = WebServiceInterface.getInstance().loadMessages(tituloJogo);
				if(!lastUpdate.equals(upt)) {
					List<String> nm = new ArrayList<String>(upt);
					nm.removeAll(lastUpdate);
					post(nm);
					lastUpdate = upt;
				}
			}
		} catch (Exception e) {
			Log.w("!!!", ""+e.getMessage());
		}
	}
	
	private void post(List<String> msgs) {
		for(String msg : msgs)
			post(msg);
	}
	
	private void post(String msg) {
		Message mm = new Message();
		Bundle b = new Bundle();
		b.putString("message", msg);
		mm.setData(b);
		try {
			m.send(mm);
		} catch (Exception e) {
			Log.w("!!!", "messenger " + e.getMessage());
		}
	}
	
}